home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / zhetrd.z / zhetrd
Encoding:
Text File  |  2002-10-03  |  6.7 KB  |  199 lines

  1.  
  2.  
  3.  
  4. ZZZZHHHHEEEETTTTRRRRDDDD((((3333SSSS))))                                                          ZZZZHHHHEEEETTTTRRRRDDDD((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZHETRD - reduce a complex Hermitian matrix A to real symmetric
  10.      tridiagonal form T by a unitary similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZHETRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO )
  14.  
  15.          CHARACTER      UPLO
  16.  
  17.          INTEGER        INFO, LDA, LWORK, N
  18.  
  19.          DOUBLE         PRECISION D( * ), E( * )
  20.  
  21.          COMPLEX*16     A( LDA, * ), TAU( * ), WORK( * )
  22.  
  23. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  24.      These routines are part of the SCSL Scientific Library and can be loaded
  25.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  26.      directs the linker to use the multi-processor version of the library.
  27.  
  28.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  29.      4 bytes (32 bits). Another version of SCSL is available in which integers
  30.      are 8 bytes (64 bits).  This version allows the user access to larger
  31.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  32.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  33.      only one of the two versions; 4-byte integer and 8-byte integer library
  34.      calls cannot be mixed.
  35.  
  36. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  37.      ZHETRD reduces a complex Hermitian matrix A to real symmetric tridiagonal
  38.      form T by a unitary similarity transformation: Q**H * A * Q = T.
  39.  
  40.  
  41. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  42.      UPLO    (input) CHARACTER*1
  43.              = 'U':  Upper triangle of A is stored;
  44.              = 'L':  Lower triangle of A is stored.
  45.  
  46.      N       (input) INTEGER
  47.              The order of the matrix A.  N >= 0.
  48.  
  49.      A       (input/output) COMPLEX*16 array, dimension (LDA,N)
  50.              On entry, the Hermitian matrix A.  If UPLO = 'U', the leading N-
  51.              by-N upper triangular part of A contains the upper triangular
  52.              part of the matrix A, and the strictly lower triangular part of A
  53.              is not referenced.  If UPLO = 'L', the leading N-by-N lower
  54.              triangular part of A contains the lower triangular part of the
  55.              matrix A, and the strictly upper triangular part of A is not
  56.              referenced.  On exit, if UPLO = 'U', the diagonal and first
  57.              superdiagonal of A are overwritten by the corresponding elements
  58.              of the tridiagonal matrix T, and the elements above the first
  59.              superdiagonal, with the array TAU, represent the unitary matrix Q
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZHHHHEEEETTTTRRRRDDDD((((3333SSSS))))                                                          ZZZZHHHHEEEETTTTRRRRDDDD((((3333SSSS))))
  71.  
  72.  
  73.  
  74.              as a product of elementary reflectors; if UPLO = 'L', the
  75.              diagonal and first subdiagonal of A are over- written by the
  76.              corresponding elements of the tridiagonal matrix T, and the
  77.              elements below the first subdiagonal, with the array TAU,
  78.              represent the unitary matrix Q as a product of elementary
  79.              reflectors. See Further Details.  LDA     (input) INTEGER The
  80.              leading dimension of the array A.  LDA >= max(1,N).
  81.  
  82.      D       (output) DOUBLE PRECISION array, dimension (N)
  83.              The diagonal elements of the tridiagonal matrix T:  D(i) =
  84.              A(i,i).
  85.  
  86.      E       (output) DOUBLE PRECISION array, dimension (N-1)
  87.              The off-diagonal elements of the tridiagonal matrix T:  E(i) =
  88.              A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
  89.  
  90.      TAU     (output) COMPLEX*16 array, dimension (N-1)
  91.              The scalar factors of the elementary reflectors (see Further
  92.              Details).
  93.  
  94.      WORK    (workspace/output) COMPLEX*16 array, dimension (LWORK)
  95.              On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  96.  
  97.      LWORK   (input) INTEGER
  98.              The dimension of the array WORK.  LWORK >= 1.  For optimum
  99.              performance LWORK >= N*NB, where NB is the optimal blocksize.
  100.  
  101.              If LWORK = -1, then a workspace query is assumed; the routine
  102.              only calculates the optimal size of the WORK array, returns this
  103.              value as the first entry of the WORK array, and no error message
  104.              related to LWORK is issued by XERBLA.
  105.  
  106.      INFO    (output) INTEGER
  107.              = 0:  successful exit
  108.              < 0:  if INFO = -i, the i-th argument had an illegal value
  109.  
  110. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  111.      If UPLO = 'U', the matrix Q is represented as a product of elementary
  112.      reflectors
  113.  
  114.         Q = H(n-1) . . . H(2) H(1).
  115.  
  116.      Each H(i) has the form
  117.  
  118.         H(i) = I - tau * v * v'
  119.  
  120.      where tau is a complex scalar, and v is a complex vector with v(i+1:n) =
  121.      0 and v(i) = 1; v(1:i-1) is stored on exit in
  122.      A(1:i-1,i+1), and tau in TAU(i).
  123.  
  124.      If UPLO = 'L', the matrix Q is represented as a product of elementary
  125.      reflectors
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ZZZZHHHHEEEETTTTRRRRDDDD((((3333SSSS))))                                                          ZZZZHHHHEEEETTTTRRRRDDDD((((3333SSSS))))
  137.  
  138.  
  139.  
  140.         Q = H(1) H(2) . . . H(n-1).
  141.  
  142.      Each H(i) has the form
  143.  
  144.         H(i) = I - tau * v * v'
  145.  
  146.      where tau is a complex scalar, and v is a complex vector with v(1:i) = 0
  147.      and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), and tau in
  148.      TAU(i).
  149.  
  150.      The contents of A on exit are illustrated by the following examples with
  151.      n = 5:
  152.  
  153.      if UPLO = 'U':                       if UPLO = 'L':
  154.  
  155.        (  d   e   v2  v3  v4 )              (  d                  )
  156.        (      d   e   v3  v4 )              (  e   d              )
  157.        (          d   e   v4 )              (  v1  e   d          )
  158.        (              d   e  )              (  v1  v2  e   d      )
  159.        (                  d  )              (  v1  v2  v3  e   d  )
  160.  
  161.      where d and e denote diagonal and off-diagonal elements of T, and vi
  162.      denotes an element of the vector defining H(i).
  163.  
  164.  
  165. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  166.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  167.  
  168.      This man page is available only online.
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.